# 采样到的函数执行特征
func_feature = [
    {
        "count": 21235.0, 
        "mean": 0.05359076995526254, 
        "std": 2.4689368427814693, 
        "min": 0.0, "25%": 0.0, 
        "50%": 0.0, "75%": 0.0, 
        "max": 325.0, 
        "name": "DFSInputStream#byteArrayRead", 
        "total": 1138
    }, 
    {"count": 21235.0, "mean": 0.021662349894042855, "std": 2.233982317597872, "min": 0.0, "25%": 0.0, "50%": 0.0, "75%": 0.0, "max": 324.0, "name": "DFSInputStream#readWithStrategy", "total": 460}, {"count": 204.0, "mean": 0.7892156862745098, "std": 4.13678456943795, "min": 0.0, "25%": 0.0, "50%": 0.0, "75%": 1.0, "max": 59.0, "name": "ClientNamenodeProtocol#getFileInfo", "total": 161}, {"count": 204.0, "mean": 1.1029411764705883, "std": 5.570346468557767, "min": 0.0, "25%": 0.0, "50%": 1.0, "75%": 1.0, "max": 79.0, "name": "getFileInfo", "total": 225}, {"count": 80.0, "mean": 11.2625, "std": 11.495451769826406, "min": 2.0, "25%": 3.0, "50%": 10.0, "75%": 17.0, "max": 65.0, "name": "dataStreamer", "total": 901}, {"count": 80.0, "mean": 5.9625, "std": 5.26618962481954, "min": 3.0, "25%": 4.0, "50%": 4.0, "75%": 7.0, "max": 39.0, "name": "DFSClient#rename", "total": 477}, {"count": 80.0, "mean": 0.2125, "std": 0.4953901416106939, "min": 0.0, "25%": 0.0, "50%": 0.0, "75%": 0.0, "max": 3.0, "name": "DataStreamer#writeTo", "total": 17}, {"count": 80.0, "mean": 5.7, "std": 5.318703563363605, "min": 2.0, "25%": 4.0, "50%": 4.0, "75%": 7.0, "max": 39.0, "name": "ClientNamenodeProtocol#rename", "total": 456}, {"count": 77.0, "mean": 0.09090909090909091, "std": 0.5889736430037512, "min": 0.0, "25%": 0.0, "50%": 0.0, "75%": 0.0, "max": 5.0, "name": "DFSOutputStream#writeChunk", "total": 7}, {"count": 42.0, "mean": 0.5952380952380952, "std": 0.4967957724145469, "min": 0.0, "25%": 0.0, "50%": 1.0, "75%": 1.0, "max": 1.0, "name": "ClientNamenodeProtocol#getListing", "total": 25}, {"count": 42.0, "mean": 1.6428571428571428, "std": 4.972222492576075, "min": 0.0, "25%": 1.0, "50%": 1.0, "75%": 1.0, "max": 33.0, "name": "listPaths", "total": 69}, {"count": 41.0, "mean": 5.414634146341464, "std": 2.418425208230529, "min": 3.0, "25%": 3.0, "50%": 4.0, "75%": 7.0, "max": 12.0, "name": "completeFile", "total": 222}, {"count": 41.0, "mean": 7.951219512195122, "std": 12.729790295822228, "min": 3.0, "25%": 4.0, "50%": 6.0, "75%": 7.0, "max": 86.0, "name": "ClientNamenodeProtocol#create", "total": 326}, {"count": 41.0, "mean": 9.414634146341463, "std": 13.162400255569077, "min": 4.0, "25%": 6.0, "50%": 7.0, "75%": 8.0, "max": 86.0, "name": "DistributedFileSystem#create", "total": 386}, {"count": 41.0, "mean": 27.121951219512194, "std": 14.605127733010793, "min": 5.0, "25%": 21.0, "50%": 23.0, "75%": 28.0, "max": 83.0, "name": "DFSOutputStream#close", "total": 1112}, {"count": 41.0, "mean": 9.024390243902438, "std": 12.933460103309649, "min": 3.0, "25%": 5.0, "50%": 7.0, "75%": 8.0, "max": 86.0, "name": "newStreamForCreate", "total": 369}, {"count": 41.0, "mean": 20.853658536585368, "std": 12.311703731835323, "min": 0.0, "25%": 14.0, "50%": 19.0, "75%": 20.0, "max": 68.0, "name": "waitForAckedSeqno", "total": 855}, {"count": 41.0, "mean": 20.975609756097562, "std": 12.542901986538142, "min": 0.0, "25%": 14.0, "50%": 19.0, "75%": 20.0, "max": 69.0, "name": "DFSOutputStream#flushInternal", "total": 860}, {"count": 41.0, "mean": 5.048780487804878, "std": 2.224311348622255, "min": 2.0, "25%": 3.0, "50%": 4.0, "75%": 7.0, "max": 12.0, "name": "ClientNamenodeProtocol#complete", "total": 207}, {"count": 40.0, "mean": 0.325, "std": 1.0225032129596565, "min": 0.0, "25%": 0.0, "50%": 0.0, "75%": 0.0, "max": 6.0, "name": "DFSOutputStream#write", "total": 13}, {"count": 40.0, "mean": 9.75, "std": 8.734693571893166, "min": 3.0, "25%": 4.0, "50%": 10.0, "75%": 10.25, "max": 51.0, "name": "ClientNamenodeProtocol#addBlock", "total": 390}, {"count": 21.0, "mean": 1.0476190476190477, "std": 2.5588315785957954, "min": 0.0, "25%": 0.0, "50%": 1.0, "75%": 1.0, "max": 12.0, "name": "BlockReaderRemote2#readNextPacket", "total": 22}, {"count": 2.0, "mean": 315.0, "std": 445.47727214752496, "min": 0.0, "25%": 157.5, "50%": 315.0, "75%": 472.5, "max": 630.0, "name": "FileSystem#createFileSystem", "total": 630}, {"count": 1.0, "mean": 7.0, "std": 0.0, "min": 7.0, "25%": 7.0, "50%": 7.0, "75%": 7.0, "max": 7.0, "name": "delete", "total": 7}, {"count": 1.0, "mean": 15.0, "std": 0.0, "min": 15.0, "25%": 15.0, "50%": 15.0, "75%": 15.0, "max": 15.0, "name": "Globber#glob", "total": 15}, {"count": 1.0, "mean": 165.0, "std": 0.0, "min": 165.0, "25%": 165.0, "50%": 165.0, "75%": 165.0, "max": 165.0, "name": "ClientNamenodeProtocol#getBlockLocations", "total": 165}, {"count": 1.0, "mean": 7.0, "std": 0.0, "min": 7.0, "25%": 7.0, "50%": 7.0, "75%": 7.0, "max": 7.0, "name": "DFSClient#delete", "total": 7}, {"count": 1.0, "mean": 180.0, "std": 0.0, "min": 180.0, "25%": 180.0, "50%": 180.0, "75%": 180.0, "max": 180.0, "name": "DistributedFileSystem#open", "total": 180}, {"count": 1.0, "mean": 3.0, "std": 0.0, "min": 3.0, "25%": 3.0, "50%": 3.0, "75%": 3.0, "max": 3.0, "name": "ClientNamenodeProtocol#delete", "total": 3}, {"count": 1.0, "mean": 13.0, "std": 0.0, "min": 13.0, "25%": 13.0, "50%": 13.0, "75%": 13.0, "max": 13.0, "name": "ClientNamenodeProtocol#getServerDefaults", "total": 13}, {"count": 1.0, "mean": 8.0, "std": 0.0, "min": 8.0, "25%": 8.0, "50%": 8.0, "75%": 8.0, "max": 8.0, "name": "DistributedFileSystem#delete", "total": 8}, {"count": 1.0, "mean": 178.0, "std": 0.0, "min": 178.0, "25%": 178.0, "50%": 178.0, "75%": 178.0, "max": 178.0, "name": "newDFSInputStream", "total": 178}, {"count": 1.0, "mean": 39.0, "std": 0.0, "min": 39.0, "25%": 39.0, "50%": 39.0, "75%": 39.0, "max": 39.0, "name": "DistributedFileSystem#mkdirs", "total": 39}, {"count": 1.0, "mean": 0.0, "std": 0.0, "min": 0.0, "25%": 0.0, "50%": 0.0, "75%": 0.0, "max": 0.0, "name": "DFSInputStream#fetchBlockAt", "total": 0}, {"count": 1.0, "mean": 38.0, "std": 0.0, "min": 38.0, "25%": 38.0, "50%": 38.0, "75%": 38.0, "max": 38.0, "name": "mkdir", "total": 38}, {"count": 1.0, "mean": 170.0, "std": 0.0, "min": 170.0, "25%": 170.0, "50%": 170.0, "75%": 170.0, "max": 170.0, "name": "getBlockLocations", "total": 170}, {"count": 1.0, "mean": 171.0, "std": 0.0, "min": 171.0, "25%": 171.0, "50%": 171.0, "75%": 171.0, "max": 171.0, "name": "DFSInputStream#openInfo", "total": 171}, {"count": 1.0, "mean": 32.0, "std": 0.0, "min": 32.0, "25%": 32.0, "50%": 32.0, "75%": 32.0, "max": 32.0, "name": "ClientNamenodeProtocol#mkdirs", "total": 32}
]

# 函数执行的timeline
time_line = {
    "columns": ["interval", "all", "DFSInputStream#byteArrayRead"], 
    "rows": [
        {"interval": "[0, 88)", "all": 1, "DFSInputStream#byteArrayRead": 0}, 
        {"interval": "[88, 176)", "all": 0, "DFSInputStream#byteArrayRead": 0}, {"interval": "[176, 264)", "all": 0, "DFSInputStream#byteArrayRead": 0}, {"interval": "[264, 352)", "all": 0, "DFSInputStream#byteArrayRead": 0}, {"interval": "[352, 440)", "all": 0, "DFSInputStream#byteArrayRead": 0}, {"interval": "[440, 528)", "all": 0, "DFSInputStream#byteArrayRead": 0}, {"interval": "[528, 616)", "all": 0, "DFSInputStream#byteArrayRead": 0}, {"interval": "[616, 704)", "all": 1, "DFSInputStream#byteArrayRead": 0}, {"interval": "[704, 792)", "all": 2, "DFSInputStream#byteArrayRead": 0}, {"interval": "[792, 880)", "all": 0, "DFSInputStream#byteArrayRead": 0}, {"interval": "[880, 968)", "all": 0, "DFSInputStream#byteArrayRead": 0}, {"interval": "[968, 1056)", "all": 0, "DFSInputStream#byteArrayRead": 0}, {"interval": "[1056, 1144)", "all": 5, "DFSInputStream#byteArrayRead": 0}, {"interval": "[1144, 1232)", "all": 0, "DFSInputStream#byteArrayRead": 0}, {"interval": "[1232, 1320)", "all": 0, "DFSInputStream#byteArrayRead": 0}, {"interval": "[1320, 1408)", "all": 0, "DFSInputStream#byteArrayRead": 0}, {"interval": "[1408, 1496)", "all": 0, "DFSInputStream#byteArrayRead": 0}, {"interval": "[1496, 1584)", "all": 0, "DFSInputStream#byteArrayRead": 0}, {"interval": "[1584, 1672)", "all": 0, "DFSInputStream#byteArrayRead": 0}, {"interval": "[1672, 1760)", "all": 3, "DFSInputStream#byteArrayRead": 0}, {"interval": "[1760, 1848)", "all": 0, "DFSInputStream#byteArrayRead": 0}, {"interval": "[1848, 1936)", "all": 0, "DFSInputStream#byteArrayRead": 0}, {"interval": "[1936, 2024)", "all": 0, "DFSInputStream#byteArrayRead": 0}, {"interval": "[2024, 2112)", "all": 0, "DFSInputStream#byteArrayRead": 0}, {"interval": "[2112, 2200)", "all": 0, "DFSInputStream#byteArrayRead": 0}, {"interval": "[2200, 2288)", "all": 0, "DFSInputStream#byteArrayRead": 0}, {"interval": "[2288, 2376)", "all": 0, "DFSInputStream#byteArrayRead": 0}, {"interval": "[2376, 2464)", "all": 0, "DFSInputStream#byteArrayRead": 0}, {"interval": "[2464, 2552)", "all": 4, "DFSInputStream#byteArrayRead": 0}, {"interval": "[2552, 2640)", "all": 3, "DFSInputStream#byteArrayRead": 0}, {"interval": "[2640, 2728)", "all": 3, "DFSInputStream#byteArrayRead": 1}, {"interval": "[2728, 2816)", "all": 1, "DFSInputStream#byteArrayRead": 0}, {"interval": "[2816, 2904)", "all": 0, "DFSInputStream#byteArrayRead": 0}, {"interval": "[2904, 2992)", "all": 0, "DFSInputStream#byteArrayRead": 0}, {"interval": "[2992, 3080)", "all": 77, "DFSInputStream#byteArrayRead": 38}, {"interval": "[3080, 3168)", "all": 574, "DFSInputStream#byteArrayRead": 287}, {"interval": "[3168, 3256)", "all": 1242, "DFSInputStream#byteArrayRead": 621}, {"interval": "[3256, 3344)", "all": 1587, "DFSInputStream#byteArrayRead": 793}, {"interval": "[3344, 3432)", "all": 1497, "DFSInputStream#byteArrayRead": 748}, {"interval": "[3432, 3520)", "all": 1651, "DFSInputStream#byteArrayRead": 825}, {"interval": "[3520, 3608)", "all": 2531, "DFSInputStream#byteArrayRead": 1265}, {"interval": "[3608, 3696)", "all": 2095, "DFSInputStream#byteArrayRead": 1047}, {"interval": "[3696, 3784)", "all": 0, "DFSInputStream#byteArrayRead": 0}, {"interval": "[3784, 3872)", "all": 2097, "DFSInputStream#byteArrayRead": 1048}, {"interval": "[3872, 3960)", "all": 3470, "DFSInputStream#byteArrayRead": 1734}, {"interval": "[3960, 4048)", "all": 5324, "DFSInputStream#byteArrayRead": 2661}, {"interval": "[4048, 4136)", "all": 6295, "DFSInputStream#byteArrayRead": 3146}, {"interval": "[4136, 4224)", "all": 661, "DFSInputStream#byteArrayRead": 330}, {"interval": "[4224, 4312)", "all": 876, "DFSInputStream#byteArrayRead": 438}, {"interval": "[4312, 4400)", "all": 3252, "DFSInputStream#byteArrayRead": 1625}, {"interval": "[4400, 4488)", "all": 4226, "DFSInputStream#byteArrayRead": 2112}, {"interval": "[4488, 4576)", "all": 4930, "DFSInputStream#byteArrayRead": 2464}, {"interval": "[4576, 4664)", "all": 18, "DFSInputStream#byteArrayRead": 9}, {"interval": "[4664, 4752)", "all": 18, "DFSInputStream#byteArrayRead": 9}, {"interval": "[4752, 4840)", "all": 16, "DFSInputStream#byteArrayRead": 8}, {"interval": "[4840, 4928)", "all": 18, "DFSInputStream#byteArrayRead": 9}, {"interval": "[4928, 5016)", "all": 18, "DFSInputStream#byteArrayRead": 9}, {"interval": "[5016, 5104)", "all": 16, "DFSInputStream#byteArrayRead": 8}, {"interval": "[5104, 5192)", "all": 0, "DFSInputStream#byteArrayRead": 0}, {"interval": "[5192, 5280)", "all": 0, "DFSInputStream#byteArrayRead": 0}, {"interval": "[5280, 5368)", "all": 0, "DFSInputStream#byteArrayRead": 0}, {"interval": "[5368, 5456)", "all": 0, "DFSInputStream#byteArrayRead": 0}, {"interval": "[5456, 5544)", "all": 0, "DFSInputStream#byteArrayRead": 0}, {"interval": "[5544, 5632)", "all": 0, "DFSInputStream#byteArrayRead": 0}, {"interval": "[5632, 5720)", "all": 0, "DFSInputStream#byteArrayRead": 0}, {"interval": "[5720, 5808)", "all": 0, "DFSInputStream#byteArrayRead": 0}, {"interval": "[5808, 5896)", "all": 2, "DFSInputStream#byteArrayRead": 0}, {"interval": "[5896, 5984)", "all": 0, "DFSInputStream#byteArrayRead": 0}, {"interval": "[5984, 6072)", "all": 10, "DFSInputStream#byteArrayRead": 0}, {"interval": "[6072, 6160)", "all": 13, "DFSInputStream#byteArrayRead": 0}, {"interval": "[6160, 6248)", "all": 3, "DFSInputStream#byteArrayRead": 0}, {"interval": "[6248, 6336)", "all": 31, "DFSInputStream#byteArrayRead": 0}, {"interval": "[6336, 6424)", "all": 24, "DFSInputStream#byteArrayRead": 0}, {"interval": "[6424, 6512)", "all": 24, "DFSInputStream#byteArrayRead": 0}, {"interval": "[6512, 6600)", "all": 16, "DFSInputStream#byteArrayRead": 0}, {"interval": "[6600, 6688)", "all": 37, "DFSInputStream#byteArrayRead": 0}, {"interval": "[6688, 6776)", "all": 32, "DFSInputStream#byteArrayRead": 0}, {"interval": "[6776, 6864)", "all": 18, "DFSInputStream#byteArrayRead": 0}, {"interval": "[6864, 6952)", "all": 41, "DFSInputStream#byteArrayRead": 0}, {"interval": "[6952, 7040)", "all": 48, "DFSInputStream#byteArrayRead": 0}, {"interval": "[7040, 7128)", "all": 37, "DFSInputStream#byteArrayRead": 0}, {"interval": "[7128, 7216)", "all": 39, "DFSInputStream#byteArrayRead": 0}, {"interval": "[7216, 7304)", "all": 43, "DFSInputStream#byteArrayRead": 0}, {"interval": "[7304, 7392)", "all": 37, "DFSInputStream#byteArrayRead": 0}, {"interval": "[7392, 7480)", "all": 35, "DFSInputStream#byteArrayRead": 0}, {"interval": "[7480, 7568)", "all": 37, "DFSInputStream#byteArrayRead": 0}, {"interval": "[7568, 7656)", "all": 42, "DFSInputStream#byteArrayRead": 0}, {"interval": "[7656, 7744)", "all": 30, "DFSInputStream#byteArrayRead": 0}, {"interval": "[7744, 7832)", "all": 48, "DFSInputStream#byteArrayRead": 0}, {"interval": "[7832, 7920)", "all": 44, "DFSInputStream#byteArrayRead": 0}, {"interval": "[7920, 8008)", "all": 39, "DFSInputStream#byteArrayRead": 0}, {"interval": "[8008, 8096)", "all": 37, "DFSInputStream#byteArrayRead": 0}, {"interval": "[8096, 8184)", "all": 40, "DFSInputStream#byteArrayRead": 0}, {"interval": "[8184, 8272)", "all": 42, "DFSInputStream#byteArrayRead": 0}, {"interval": "[8272, 8360)", "all": 38, "DFSInputStream#byteArrayRead": 0}, {"interval": "[8360, 8448)", "all": 48, "DFSInputStream#byteArrayRead": 0}, {"interval": "[8448, 8536)", "all": 24, "DFSInputStream#byteArrayRead": 0}, {"interval": "[8536, 8624)", "all": 94, "DFSInputStream#byteArrayRead": 0}, {"interval": "[8624, 8712)", "all": 116, "DFSInputStream#byteArrayRead": 0}, {"interval": "[8712, 8800)", "all": 116, "DFSInputStream#byteArrayRead": 0}]
}

# 调用树关系
call_tree = {
    "res": [{
        "hash": "b9da4af4a2fbc30f4c66112ebc43236d", 
        "name": "DFSOutputStream#close", 
        "childs": [{
            "hash": "b9da4af4a2fbc30f43b49fcfbc691ba0", 
            "name": "DFSOutputStream#write", 
            "childs": [{"hash": "b9da4af4a2fbc30ffcfa53564f0acd9b", "name": "DFSOutputStream#writeChunk", "childs": []}]}, {"hash": "b9da4af4a2fbc30fd705c4b3a0f4e647", "name": "dataStreamer", "childs": [{"hash": "b9da4af4a2fbc30f70db8af477cdabca", "name": "ClientNamenodeProtocol#addBlock", "childs": []}, {"hash": "b9da4af4a2fbc30f81126087d7949f2f", "name": "DataStreamer#writeTo", "childs": []}]}, {"hash": "b9da4af4a2fbc30f7df612c82f6534be", "name": "DFSOutputStream#flushInternal", "childs": [{"hash": "b9da4af4a2fbc30fd2cd66c04a18a282", "name": "dataStreamer", "childs": [{"hash": "b9da4af4a2fbc30f2c8228b6a0c589e0", "name": "DataStreamer#writeTo", "childs": []}]}, {"hash": "b9da4af4a2fbc30f6b03f52bf667c752", "name": "waitForAckedSeqno", "childs": []}]}, {"hash": "b9da4af4a2fbc30f7e963190f92b886a", "name": "completeFile", "childs": [{"hash": "b9da4af4a2fbc30f955e965eb911c4ee", "name": "ClientNamenodeProtocol#complete", "childs": []}]}]}]
}